package ucla.axelia.controlador.servicios;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Restrictions;

import ucla.axelia.controlador.interfaces.IServicioAdministracionAsignarReconocimiento;
import ucla.axelia.modelo.dao.ServicioReconocimientoVoluntarioDAO;
import ucla.axelia.modelo.data.Reconocimiento;
import ucla.axelia.modelo.data.ReconocimientoVoluntario;
import ucla.axelia.modelo.data.Voluntario;

import com.obelisco.modelo.data.DataGenerica;

public class ServicioAdministracionAsignarReconocimiento implements IServicioAdministracionAsignarReconocimiento {
	
	private ServicioReconocimientoVoluntarioDAO servicioReconocimientoVoluntarioDAO;
	
	public List<ReconocimientoVoluntario> buscarReconocimientoVoluntarios() {
		return servicioReconocimientoVoluntarioDAO.buscarTodos(DataGenerica.DATA_ACTIVO);
	}

	public void eliminarReconocimientoVoluntario(ReconocimientoVoluntario reconocimientoVoluntario) {
		servicioReconocimientoVoluntarioDAO.eliminarFisicamente(reconocimientoVoluntario);
	}

	public void guardarReconocimientoVoluntario(ReconocimientoVoluntario reconocimientoVoluntario) {
		servicioReconocimientoVoluntarioDAO.guardar(reconocimientoVoluntario);
		
	}
	
	@Override
	public boolean existeReconocimientoVoluntario(
			Reconocimiento reconocimiento, Voluntario voluntario) {
		List<Criterion> criterios = new ArrayList<Criterion>();
		criterios.add(Restrictions.eq("reconocimiento", reconocimiento));
		criterios.add(Restrictions.eq("voluntario", voluntario));
		return !servicioReconocimientoVoluntarioDAO.buscarPorPropiedades(criterios, DataGenerica.DATA_ACTIVO).isEmpty();
	}

	public ServicioReconocimientoVoluntarioDAO getServicioReconocimientoVoluntarioDAO() {
		return servicioReconocimientoVoluntarioDAO;
	}

	public void setServicioReconocimientoVoluntarioDAO(ServicioReconocimientoVoluntarioDAO servicioReconocimientoVoluntarioDAO) {
		this.servicioReconocimientoVoluntarioDAO = servicioReconocimientoVoluntarioDAO;
	}

}
